using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace SHDocVw
{
	[ClassInterface(0), ComSourceInterfaces("SHDocVw.DShellNameSpaceEvents\0"), Guid("55136805-B2DE-11D1-B9F2-00A0C98BC547"), TypeLibType(2)]
	[ComImport]
	public class ShellNameSpaceClass : IShellNameSpace, ShellNameSpace, DShellNameSpaceEvents_Event
	{
		public virtual extern event DShellNameSpaceEvents_FavoritesSelectionChangeEventHandler FavoritesSelectionChange
		{
			[MethodImpl(MethodImplOptions.InternalCall)]
			add;
			[MethodImpl(MethodImplOptions.InternalCall)]
			remove;
		}
		public virtual extern event DShellNameSpaceEvents_SelectionChangeEventHandler SelectionChange
		{
			[MethodImpl(MethodImplOptions.InternalCall)]
			add;
			[MethodImpl(MethodImplOptions.InternalCall)]
			remove;
		}
		public virtual extern event DShellNameSpaceEvents_DoubleClickEventHandler DoubleClick
		{
			[MethodImpl(MethodImplOptions.InternalCall)]
			add;
			[MethodImpl(MethodImplOptions.InternalCall)]
			remove;
		}
		public virtual extern event DShellNameSpaceEvents_InitializedEventHandler Initialized
		{
			[MethodImpl(MethodImplOptions.InternalCall)]
			add;
			[MethodImpl(MethodImplOptions.InternalCall)]
			remove;
		}
		[DispId(10)]
		public virtual extern bool SubscriptionsEnabled
		{
			[DispId(10)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			get;
		}
		[DispId(14)]
		public virtual extern int EnumOptions
		{
			[DispId(14)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			get;
			[DispId(14)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			set;
		}
		[DispId(15)]
		public virtual extern object SelectedItem
		{
			[DispId(15)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			[return: MarshalAs(UnmanagedType.IDispatch)]
			get;
			[DispId(15)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			[param: MarshalAs(UnmanagedType.IDispatch)]
			set;
		}
		[DispId(16)]
		public virtual extern object Root
		{
			[DispId(16)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			[return: MarshalAs(UnmanagedType.Struct)]
			get;
			[DispId(16)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			[param: MarshalAs(UnmanagedType.Struct)]
			set;
		}
		[DispId(17)]
		public virtual extern int Depth
		{
			[DispId(17)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			get;
			[DispId(17)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			set;
		}
		[DispId(18)]
		public virtual extern uint Mode
		{
			[DispId(18)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			get;
			[DispId(18)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			set;
		}
		[DispId(19)]
		public virtual extern uint Flags
		{
			[DispId(19)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			get;
			[DispId(19)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			set;
		}
		[DispId(20)]
		public virtual extern uint TVFlags
		{
			[DispId(20)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			get;
			[DispId(20)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			set;
		}
		[DispId(21)]
		public virtual extern string Columns
		{
			[DispId(21)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			[return: MarshalAs(UnmanagedType.BStr)]
			get;
			[DispId(21)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			[param: MarshalAs(UnmanagedType.BStr)]
			set;
		}
		[DispId(22)]
		public virtual extern int CountViewTypes
		{
			[DispId(22)]
			[MethodImpl(MethodImplOptions.InternalCall)]
			get;
		}
		[MethodImpl(MethodImplOptions.InternalCall)]
		public extern ShellNameSpaceClass();
		[DispId(1)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void MoveSelectionUp();
		[DispId(2)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void MoveSelectionDown();
		[DispId(3)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void ResetSort();
		[DispId(4)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void NewFolder();
		[DispId(5)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void Synchronize();
		[DispId(6)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void Import();
		[DispId(7)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void Export();
		[DispId(8)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void InvokeContextMenuCommand([MarshalAs(UnmanagedType.BStr)] [In] string strCommand);
		[DispId(9)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void MoveSelectionTo();
		[DispId(11)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern bool CreateSubscriptionForSelection();
		[DispId(12)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern bool DeleteSubscriptionForSelection();
		[DispId(13)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void SetRoot([MarshalAs(UnmanagedType.BStr)] [In] string bstrFullPath);
		[DispId(23)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void SetViewType([In] int iType);
		[DispId(24)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		[return: MarshalAs(UnmanagedType.IDispatch)]
		public virtual extern object SelectedItems();
		[DispId(25)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void Expand([MarshalAs(UnmanagedType.Struct)] [In] object var, int iDepth);
		[DispId(26)]
		[MethodImpl(MethodImplOptions.InternalCall)]
		public virtual extern void UnselectAll();
	}
}
